App({
  globalData: {
    userInfo: null,
    isLogin: false,
    userPhone: '',
    userNickname: '',
    openid: ''
  },
  onLaunch: function () {
    // 初始化云开发环境
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        // env 参数说明：
        // env 参数决定接下来小程序发起的云开发调用（wx.cloud.xxx）会默认请求到哪个云环境的资源
        // 此处请填入环境 ID, 环境 ID 可打开云控制台查看
        env: 'cloud1-8g3kxnyv58f85f9b',
        traceUser: true,
      })
    }

    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 检查用户是否已登录
    this.checkLoginStatus()
  },

  // 检查用户登录状态
  checkLoginStatus: function () {
    const that = this

    // 调用获取当前用户信息的云函数
    wx.cloud.callFunction({
      name: 'getCurrentUser',
      data: {},
      success: res => {
        console.log('获取用户信息结果:', res.result)

        if (res.result.success && res.result.isLogin) {
          // 用户已登录
          that.globalData.isLogin = true
          that.globalData.userPhone = res.result.userInfo.phone
          that.globalData.openid = res.result.userInfo.openid
          that.globalData.userNickname = res.result.userInfo.phone || '投资者'
          console.log('用户已登录:', res.result.userInfo.phone)
        } else {
          // 用户未登录
          that.globalData.isLogin = false
          that.globalData.userPhone = ''
          that.globalData.openid = ''
          that.globalData.userNickname = ''
          console.log('用户未登录')
        }

        // 通知页面登录状态已更新
        if (that.loginStatusCallback) {
          that.loginStatusCallback(that.globalData.isLogin)
        }
      },
      fail: err => {
        console.error('获取用户信息失败', err)
        that.globalData.isLogin = false
        that.globalData.userPhone = ''
        that.globalData.openid = ''
        that.globalData.userNickname = ''

        // 通知页面登录状态已更新
        if (that.loginStatusCallback) {
          that.loginStatusCallback(false)
        }
      }
    })
  }
}) 